home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 November / Chip Kasım 2000.iso / prog / basic / 09 / AXA2.CAB / DAJAVA.CAB / com / ms / dxmedia / ModelMakerApplet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-10-14  |  3.6 KB  |  148 lines

  1. package com.ms.dxmedia;
  2.  
  3. import com.ms.com.ComException;
  4. import com.ms.com.ComFailException;
  5. import com.ms.dxmedia.rawcom.DAView;
  6. import com.ms.dxmedia.rawcom.IDABehavior;
  7. import com.ms.dxmedia.rawcom.IDAImage;
  8. import com.ms.dxmedia.rawcom.IDAView;
  9. import com.ms.dxmedia.rawcom.IDAViewSite;
  10. import java.applet.Applet;
  11. import java.util.Vector;
  12.  
  13. public class ModelMakerApplet extends Applet implements IDAViewSite {
  14.    private boolean _constructed;
  15.    private ImageBvr _img;
  16.    private ImageBvr _backgroundImg;
  17.    private SoundBvr _snd;
  18.    private Vector _inputImages;
  19.    private boolean _modelSetYet;
  20.    private Model _model;
  21.    private IDAView _view;
  22.    private ErrorAndWarningReceiver _errorRecv = new DefaultErrReceiver();
  23.  
  24.    public IDABehavior grabImageComPtr() {
  25.       if (!this._constructed) {
  26.          this.constructModel();
  27.       }
  28.  
  29.       return this._img.getCOMBvr();
  30.    }
  31.  
  32.    public void addInputImage(IDAImage var1) {
  33.       if (this._inputImages == null) {
  34.          this._inputImages = new Vector();
  35.       }
  36.  
  37.       this._inputImages.addElement(var1);
  38.    }
  39.  
  40.    public IDABehavior grabBackgroundImageComPtr() {
  41.       if (!this._constructed) {
  42.          this.constructModel();
  43.       }
  44.  
  45.       return this._backgroundImg.getCOMBvr();
  46.    }
  47.  
  48.    public ErrorAndWarningReceiver registerErrorAndWarningReceiver(ErrorAndWarningReceiver var1) {
  49.       ErrorAndWarningReceiver var2 = this._errorRecv;
  50.       this._errorRecv = var1;
  51.       return var2;
  52.    }
  53.  
  54.    public ImageBvr createBackgroundImage() {
  55.       return Statics.emptyImage;
  56.    }
  57.  
  58.    public IDABehavior grabSoundComPtr() {
  59.       if (!this._constructed) {
  60.          this.constructModel();
  61.       }
  62.  
  63.       return this._snd.getCOMBvr();
  64.    }
  65.  
  66.    public IDAView grabViewComPtr() {
  67.       if (!this._constructed) {
  68.          this.constructModel();
  69.       }
  70.  
  71.       return this._view;
  72.    }
  73.  
  74.    protected synchronized void constructModel() throws DXMException {
  75.       try {
  76.          if (!this._modelSetYet) {
  77.             try {
  78.                this.wait();
  79.             } catch (InterruptedException var6) {
  80.             }
  81.          }
  82.  
  83.          if (this._model == null) {
  84.             throw this.handleError(-2147467259, "No model set");
  85.          } else {
  86.             this._view = new DAView();
  87.             this._view.putSite(this);
  88.             if (this._inputImages != null) {
  89.                int var1 = this._inputImages.size();
  90.                ImageBvr[] var2 = new ImageBvr[var1];
  91.  
  92.                for(int var3 = 0; var3 < var1; ++var3) {
  93.                   IDAImage var4 = (IDAImage)this._inputImages.elementAt(var3);
  94.                   var2[var3] = new ImageBvr(var4);
  95.                }
  96.  
  97.                this._model.receiveInputImages(var2);
  98.                this._inputImages = null;
  99.             }
  100.  
  101.             if (this._model.getImportBase() == null) {
  102.                this._model.setImportBase(((Applet)this).getCodeBase());
  103.             }
  104.  
  105.             BvrsToRun var8 = new BvrsToRun(this._view);
  106.             this._model.createModel(var8);
  107.             var8.invalidate();
  108.             this._backgroundImg = this.createBackgroundImage();
  109.             this._img = this._model.getImage();
  110.             if (this._img == null) {
  111.                this._img = Statics.emptyImage;
  112.             }
  113.  
  114.             this._snd = this._model.getSound();
  115.             if (this._snd == null) {
  116.                this._snd = Statics.silence;
  117.             }
  118.  
  119.             this._constructed = true;
  120.          }
  121.       } catch (ComFailException var7) {
  122.          throw this.handleError(var7);
  123.       }
  124.    }
  125.  
  126.    public synchronized void setModel(Model var1) {
  127.       this._model = var1;
  128.       this._modelSetYet = true;
  129.       this.notify();
  130.    }
  131.  
  132.    public void ReportError(int var1, String var2) {
  133.    }
  134.  
  135.    protected DXMException handleError(ComFailException var1) throws DXMException {
  136.       return this.handleError(((ComException)var1).getHResult(), ((Throwable)var1).getMessage());
  137.    }
  138.  
  139.    protected DXMException handleError(int var1, String var2) throws DXMException {
  140.       this._errorRecv.handleError(var1, var2, (Viewer)null);
  141.       return new DXMException(var1, var2);
  142.    }
  143.  
  144.    public void SetStatusText(String var1) {
  145.       System.out.println(var1);
  146.    }
  147. }
  148.